from rest_framework import serializers

from users.models import User


class AdminSerializer(serializers.ModelSerializer):

    class Meta:
        # 根据模型类生成序列化器字段
        model = User
        # 指定那些模型类生成序列化器字段
        fields = '__all__'
        extra_kwags = {
            'passwprd':
                {
                    'write_only':True
                }
        }
    # 重写保存方法
    def create(self,validated_data):
        # 重新调用父类方法
        user = super().create(validated_data)
        # 对父类保存的用户对象的密码进行加密
        user.set_password(validated_data['password'])
        user.is_staff = True
        user.save()
        return user
